\contentsline {section}{\numberline {1}Introduction}{3}
\contentsline {subsection}{\numberline {1.1}Identification}{3}
\contentsline {subsection}{\numberline {1.2}Related Documentation}{3}
\contentsline {subsection}{\numberline {1.3}Purpose and Description of Document}{3}
\contentsline {subsection}{\numberline {1.4}Document Status and Schedule}{3}
\contentsline {section}{\numberline {2}System Design}{3}
\contentsline {subsection}{\numberline {2.1}Components and component diagram}{3}
\contentsline {subsection}{\numberline {2.2}Component class diagrams}{5}
\contentsline {subsubsection}{\numberline {2.2.1}CLUI}{5}
\contentsline {subsubsection}{\numberline {2.2.2}UserManager}{5}
\contentsline {subsubsection}{\numberline {2.2.3}ElectionManager}{5}
\contentsline {subsubsection}{\numberline {2.2.4}ElectionStorage}{6}
\contentsline {subsubsection}{\numberline {2.2.5}ElectorateStorage}{8}
\contentsline {subsection}{\numberline {2.3}Design and Development Process}{9}
\contentsline {subsection}{\numberline {2.4}System API}{9}
\contentsline {subsubsection}{\numberline {2.4.1}CandidateImpl.java}{9}
\contentsline {subsubsection}{\numberline {2.4.2}ElectionImpl.java}{10}
\contentsline {subsubsection}{\numberline {2.4.3}ElectionResultImpl.java}{11}
\contentsline {subsubsection}{\numberline {2.4.4}OneOfNVoteStub.java}{11}
\contentsline {subsubsection}{\numberline {2.4.5}VotingSystemImpl.java}{12}
\contentsline {subsubsection}{\numberline {2.4.6}UserStoreImpl}{12}
\contentsline {subsubsection}{\numberline {2.4.7}ElectionStore.java}{13}
\contentsline {subsubsection}{\numberline {2.4.8}ElectionStoreImpl.java}{13}
\contentsline {subsubsection}{\numberline {2.4.9}ElectorateStore.java}{14}
\contentsline {subsubsection}{\numberline {2.4.10}ElectorateStoreImpl.java}{14}
\contentsline {section}{\numberline {3}Acceptance Test Plan}{16}
\contentsline {subsection}{\numberline {3.1}Testing strategy}{16}
\contentsline {subsubsection}{\numberline {3.1.1}Unit testing}{16}
\contentsline {subsubsection}{\numberline {3.1.2}Regression testing}{16}
\contentsline {subsubsection}{\numberline {3.1.3}Acceptance testing}{16}
\contentsline {subsubsection}{\numberline {3.1.4}Testing Environment}{16}
\contentsline {subsection}{\numberline {3.2}Acceptance Test Demonstration Plan}{16}
\contentsline {subsection}{\numberline {3.3}Acceptance Test Cases}{17}
\contentsline {subsubsection}{\numberline {3.3.1}Common Test Data Set}{17}
\contentsline {subsubsection}{\numberline {3.3.2}Schedule election}{18}
\contentsline {subsubsection}{\numberline {3.3.3}Edit election}{19}
\contentsline {subsubsection}{\numberline {3.3.4}Open nominations}{20}
\contentsline {subsubsection}{\numberline {3.3.5}Start election}{21}
\contentsline {subsubsection}{\numberline {3.3.6}Stop election}{22}
\contentsline {subsubsection}{\numberline {3.3.7}Publish results}{23}
\contentsline {subsubsection}{\numberline {3.3.8}Nominate candidate}{24}
\contentsline {subsubsection}{\numberline {3.3.9}Accept nomination}{25}
\contentsline {subsubsection}{\numberline {3.3.10}View election}{26}
\contentsline {subsubsection}{\numberline {3.3.11}View elections}{27}
\contentsline {subsubsection}{\numberline {3.3.12}Select election}{28}
\contentsline {subsubsection}{\numberline {3.3.13}View electorate}{29}
\contentsline {subsubsection}{\numberline {3.3.14}Cast vote}{30}
\contentsline {section}{\numberline {4}Testing Report for Team A}{31}
\contentsline {subsection}{\numberline {4.1}Test Results}{31}
\contentsline {subsection}{\numberline {4.2}Defect Reports}{32}
\contentsline {subsection}{\numberline {4.3}General observations}{35}
